<template>
	<div class="p-4">
		<a-row>
			<a-col :span="24">
				<a-card :loading="loading" :bordered="false" title="TOP5商品支付金额" :style="{ marginTop: '10px' }">
					<template #extra>
						<a href="#">
							<RightOutlined style="color:#000;" />
						</a>
					</template>
					<BasicTable  :columns="columns" :dataSource="data"
						:pagination="pagination" @columns-change="handleColumnChange">
					</BasicTable>
				</a-card>
			</a-col>
		</a-row>
	</div>
</template>
<script lang="ts" setup>
	import { ref } from 'vue';
	import { getBasicColumns, getBasicData } from './tableData';
	import { BasicTable, ColumnChangeParam } from '/@/components/Table';
	import LineMulti from '/@/components/chart/LineMulti.vue';
	import HeadInfo from '/@/components/chart/HeadInfo.vue';
	import { getLoginfo, getVisitInfo } from '../api.ts';
	import { ArrowUpOutlined, RightOutlined } from '@ant-design/icons-vue';

	const loading = ref(true);
	const canResize = ref(false);
	const striped = ref(true);
	const border = ref(true);
	const pagination = ref<any>(false);
	const data=getBasicData()

	const columns = getBasicColumns();
	function toggleCanResize() {
		canResize.value = !canResize.value;
	}
	function toggleStriped() {
		striped.value = !striped.value;
	}
	function toggleLoading() {
		loading.value = true;
		setTimeout(() => {
			loading.value = false;
			pagination.value = { pageSize: 20 };
		}, 3000);
	}
	function toggleBorder() {
		border.value = !border.value;
	}

	function handleColumnChange(data : ColumnChangeParam[]) {
		console.log('ColumnChanged', data);
		
	}
	setTimeout(() => {
		loading.value = false;
	}, 500);

	const loginfo = ref({});
	const lineMultiData = ref([]);

	function initLogInfo() {
		getLoginfo(null).then((res) => {
			if (res.success) {
				Object.keys(res.result).forEach((key) => {
					res.result[key] = res.result[key] + '';
				});
				loginfo.value = res.result;
			}
		});
		getVisitInfo(null).then((res) => {
			if (res.success) {
				lineMultiData.value = [];
				res.result.forEach((item) => {
					lineMultiData.value.push({ name: item.type, type: 'ip', value: item.ip });
					lineMultiData.value.push({ name: item.type, type: 'visit', value: item.visit });
				});
			}
		});
	}

	initLogInfo();
</script>

<style lang="less" scoped>
	.line_bottom {
		display: flex;
		align-items: center;
	}

	.price {
		color: #323233;
		font-size: 32px;
		font-weight: 700;
	}

	.bfb {
		color: #323233;
		font-weight: 500;
		margin-top: 4px;
	}

	.colorGray {
		margin-top: 4px;
		color: #969799;
		font-size: 14px;
	}

	.circle-cust {
		position: relative;
		top: 28px;
		left: -100%;
	}

	.extra-wrapper {
		line-height: 55px;
		padding-right: 24px;

		.extra-item {
			display: inline-block;
			margin-right: 24px;

			a {
				margin-left: 24px;
			}
		}
	}

	/* 首页访问量统计 */
	.head-info {
		position: relative;
		text-align: left;
		padding: 0 32px 0 0;
		min-width: 125px;

		&.center {
			text-align: center;
			padding: 0 32px;
		}

		span {
			color: rgba(0, 0, 0, 0.45);
			display: inline-block;
			font-size: 0.95rem;
			line-height: 42px;
			margin-bottom: 4px;
		}

		p {
			line-height: 42px;
			margin: 0;

			a {
				font-weight: 600;
				font-size: 1rem;
			}
		}
	}
</style>